
const Citizen = require('../models/Citizen.js');
const IdCard = require('../models/IdCard.js');

// 维护从 Citizen 到 IdCard 的一对一关联关系
Citizen.hasOne( IdCard , {
    // 指定对方(IdCard)表中参照我方(Citizen)主键的外键
    foreignKey: 'citizen_id',
    onDelete: 'SET NULL',
    onUpdate: 'CASCADE'
});

IdCard.belongsTo( Citizen , {
    // 指示我方(IdCard)用来维护关联关系的外键
    foreignKey: {
        // 指定外键名称
        field: 'citizen_id',
        // 指定当前外键是惟一的
        unique: true
    } 
});

/* 根据模型创建相应的数据库表 */
Citizen.sync(); // 根据 Citizen 模型创建 t_citizens 表
IdCard.sync(); // 根据 IdCard 模型创建 t_citizens 表